﻿namespace HK.Editor.Common.Protocol
{
    /// <summary>
    /// I/O浏览选项
    /// <para>* 文件+文件夹</para>
    /// </summary>
    public enum IoBrowseOptions
    {
        /// <summary>
        /// 文件
        /// </summary>
        File = 0x00000001,
        
        /// <summary>
        /// 目录
        /// </summary>
        Directory = 0x00000002,
        
        /// <summary>
        /// All
        /// </summary>
        All = File | Directory
    }
    
    /// <summary>
    /// 接口 : I/O浏览选项
    /// <para>* 文件+文件夹</para>
    /// </summary>
    public interface IOBrowse
    {
        /// <summary>
        /// I/O浏览选项
        /// <para>* 文件/文件夹</para>
        /// </summary>
        int BrowseOptions { get; }

        /// <summary>
        /// 文件可浏览
        /// </summary>
        bool FileBrowsable { get; }

        /// <summary>
        /// 文件可浏览 - Only
        /// </summary>
        bool FileBrowseOnly { get; }

        /// <summary>
        /// 目录可浏览
        /// </summary>
        bool DirectoryBrowsable { get; }

        /// <summary>
        /// 目录可浏览 - Only
        /// </summary>
        bool DirectoryBrowseOnly { get; }
        
        /// <summary>
        /// 全部可浏览
        /// </summary>
        bool AllBrowsable { get; }
        
        /// <summary>
        /// 浏览描述
        /// </summary>
        string BrowseDesc { get; }
        
        /// <summary>
        /// 浏览描述
        /// </summary>
        string[] BrowseExtensions { get; }
    }
}
